{ 
    const input = { 
        text : {
            elementTemplate : `
                        <div class="form-group">
                            <label>{{title}}</label>
                            <input type="text" :name="name" class="form-control input-sm" v-bind:placeholder="placeholder" v-model="value">
                        </div>
            `,
            prototypeTemplate : `
                        <div class="form-group">
                            <label >请输入字段名:</label>
                            <input type="text" class="form-control input-sm" v-model="name">
                        </div>
                        <div class="form-group">
                            <label >输入框的标题:</label>
                            <input type="text" class="form-control input-sm" v-model="title">
                        </div>
                        <div class="form-group">
                            <label >默认提示文本:</label>
                            <input type="text" class="form-control input-sm" v-model="placeholder">
                        </div>
            `,
            _constructor : function () {
                return {
                    data: { 
                        name : 'inputText',
                        value : '',
                        title: '输入框', 
                        placeholder : '请输入文本',
                        
                    },
                    methods : {
                        getValue : function () {
                            return this.value;
                        },

                        getField : function () {
                            return this.name;
                        }
                    }
                }
            }
        },
        address : {
            elementTemplate : `
                        <div class="form-group">
                            <label>{{title}}</label>
                            <input type="text" class="form-control input-sm" v-bind:placeholder="placeholder" v-model="value">
                        </div>
            `,
            prototypeTemplate : `
                        <div class="form-group">
                            <label >请输入字段名:</label>
                            <input type="text" class="form-control input-sm" v-model="name">
                        </div>
                        <div class="form-group">
                            <label>输入框的标题:</label>
                            <input type="text" class="form-control input-sm" v-model="title">
                        </div>
                        <div class="form-group">
                            <label >默认提示文本:</label>
                            <input type="text" class="form-control input-sm" v-model="placeholder">
                        </div>
            `,
            _constructor : function () {
                return {
                    data: {
                        name : 'address',
                        value : '',
                        title: '地址',
                        placeholder : '请输入您的地址'
                    },
                    methods : {
                        getValue : function () {
                            return this.value;
                        },

                        getField : function () {
                            return this.name;
                        }
                    }
                }
            }
        },
        name : {
            elementTemplate : `
                        <div class="form-group">
                            <label>{{title}}</label>
                            <input type="text" class="form-control input-sm" v-bind:placeholder="placeholder" v-model="value">
                        </div>
            `,
            prototypeTemplate : `
                        <div class="form-group">
                            <label >请输入字段名:</label>
                            <input type="text" class="form-control input-sm" v-model="name">
                        </div>
                        <div class="form-group">
                            <label >输入框的标题:</label>
                            <input type="text" class="form-control input-sm" v-model="title">
                        </div>
                        <div class="form-group">
                            <label >默认提示文本:</label>
                            <input type="text" class="form-control input-sm" v-model="placeholder">
                        </div>
            `,
            _constructor : function () {
                return {
                    data: {
                        name : 'name',
                        value : '',
                        title: '姓名',
                        placeholder : '请输入您的姓名'
                    },
                    methods : {
                        getValue : function () {
                            return this.value;
                        },

                        getField : function () {
                            return this.name;
                        }
                    }
                }
            }
        },
        email : {
            elementTemplate : `
                        <div class="form-group">
                            <label>{{title}}</label>
                            <input type="text" class="form-control input-sm" v-bind:placeholder="placeholder" v-model="value">
                        </div>
            `,
            prototypeTemplate : `
                        <div class="form-group">
                            <label >请输入字段名:</label>
                            <input type="text" class="form-control input-sm" v-model="name">
                        </div>
                        <div class="form-group">
                            <label >输入框的标题:</label>
                            <input type="email" class="form-control input-sm" v-model="title">
                        </div>
                        <div class="form-group">
                            <label >默认提示文本:</label>
                            <input type="text" class="form-control input-sm" v-model="placeholder">
                        </div>
            `,
            _constructor : function () {
                return {
                    data: {
                        name : 'email',
                        value : '',
                        title: 'Email',
                        placeholder : '请输入您的Email'
                    },
                    methods : {
                        getValue : function () {
                            return this.value;
                        },

                        getField : function () {
                            return this.name;
                        }
                    }
                }
            }
        },
        phonenumber : {
            elementTemplate : `
                        <div class="form-group">
                            <label>{{title}}</label>
                            <input type="text" class="form-control input-sm" v-bind:placeholder="placeholder" v-model="value">
                        </div>
            `,
            prototypeTemplate : `
                        <div class="form-group">
                            <label >请输入字段名:</label>
                            <input type="text" class="form-control input-sm" v-model="name">
                        </div>
                        <div class="form-group">
                            <label >输入框的标题:</label>
                            <input type="email" class="form-control input-sm" v-model="title">
                        </div>
                        <div class="form-group">
                            <label >默认提示文本:</label>
                            <input type="text" class="form-control input-sm" v-model="placeholder">
                        </div>
            `,
            _constructor : function () {
                return {
                    data: {
                        name : 'phonenumber',
                        value : '',
                        title: '电话',
                        placeholder : '请输入您的电话'
                    },
                    methods : {
                        getValue : function () {
                            return this.value;
                        },

                        getField : function () {
                            return this.name;
                        }
                    }
                }
            }
        }

    }


    if ( window.TEMPLATE && !window.TEMPLATE.input ) {
        window.TEMPLATE.input = input
    }
}